#ifndef __DIRECTORY_H__
#define __DIRECTORY_H__

#include "TypeDef.h"

namespace Woo {
namespace IO {

class Directory
{
public:
	static void CreateDirectory(string path);
	static void CreateDirectory(string path, mode_t mode);
	static void Delete(string path);
	static bool Exists(string path);
	static vector<string> GetDirectories(string path);
	static vector<string> GetFiles(string path);
	static void Move(string sourceDirName, string destDirName);
	static void Copy(string sourceDirName, string destDirName);
	static void Copy(string sourceDirName, string destDirName, bool recursive);
	static void CreateSymLink(string sourceDirName, string destDirName);

private:
	static string FixPathString(string path);
};

} // namespace IO
} // namespace Woo

#endif // define __DIRECTORY_H__
